Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: set up tuist #523

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

build: set up tuist #523

wants to merge 6 commits into from

Conversation

watt
Copy link
Collaborator

@watt watt commented Nov 16, 2024

This PR replaces the CocoaPods-based project generation with Tuist. In a follow-up PR I'll remove CocoaPods entirely.

Setting up takes a few steps, first to get Mise and then to get Tuist from that.

# install mise
brew install mise
# add mise activation line to your zshrc
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
# load mise into your shell
source ~/.zshrc
# install dependencies
mise install

# only necessary for first setup or after changing dependencies
tuist install --path SampleApp
# generates and opens the Xcode project
tuist generate --path SampleApp

The bump to swiftformat caused some formatting changes, so I recommend reviewing by commit.

@watt watt marked this pull request as ready for review December 3, 2024 00:12
@watt watt requested a review from a team as a code owner December 3, 2024 00:12
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the end of running brew install mise there were a few errors about trusting Blueprint/.mise.toml

brew install mise
<snip>
==> mise
If you are using fish shell, mise will be activated for you automatically.

zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
==> awscli
The "examples" directory has been installed to:
  /opt/homebrew/share/awscli/examples

zsh completions and functions have been installed to:
  /opt/homebrew/share/zsh/site-functions
mise ERROR error parsing config file: ~/Development/Blueprint/.mise.toml      
mise ERROR Config file ~/Development/Blueprint/.mise.toml is not trusted.
Trust it with `mise trust`.
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information

Output of mise trust:

~/Development/Blueprint awatt/tuist mise trust
mise trusted /Users/robmaceachern/Development/Blueprint/.mise.toml
mise WARN  Failed to deserialize __MISE_WATCH missing field `latest_update`

# install mise
brew install mise
# add mise activation line to your zshrc
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be nice if we update this command to add it only if it is not already there. If people naively go through the readme of Blueprint/Workflow/Market/etc they'll end up with 3+ entries in their .zshrc.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add the changelog as an additional file? (how we do it in Market)

@@ -0,0 +1,7 @@
[tools]
tuist = "4.23.0"
swiftformat = "0.54.2"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: It'd be much easier to review this (and compare with other Mise migrations) if we stuck to the existing Swiftformat version and reverted the formatting changes.

Or if we are going to bump it let's go to the latest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants